package com.px.service.mapper;

import java.util.List;

import com.px.service.domain.MemorialHallFollow;
import org.apache.ibatis.annotations.Param;

/**
 * 纪念馆关注Mapper接口
 *
 * @author 品讯科技
 * @date 2024-08
 */
public interface MemorialHallFollowMapper {
    /**
     * 查询纪念馆关注
     *
     * @param id 纪念馆关注主键
     * @return 纪念馆关注
     */
    public MemorialHallFollow selectMemorialHallFollowById(Long id);

    /**
     * 查询纪念馆关注列表
     *
     * @param memorialHallFollow 纪念馆关注
     * @return 纪念馆关注集合
     */
    public List<MemorialHallFollow> selectMemorialHallFollowList(MemorialHallFollow memorialHallFollow);

    /**
     * 新增纪念馆关注
     *
     * @param memorialHallFollow 纪念馆关注
     * @return 结果
     */
    public int insertMemorialHallFollow(MemorialHallFollow memorialHallFollow);

    /**
     * 修改纪念馆关注
     *
     * @param memorialHallFollow 纪念馆关注
     * @return 结果
     */
    public int updateMemorialHallFollow(MemorialHallFollow memorialHallFollow);

    /**
     * 删除纪念馆关注
     *
     * @param id 纪念馆关注主键
     * @return 结果
     */
    public int deleteMemorialHallFollowById(Long id);

    /**
     * 批量删除纪念馆关注
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMemorialHallFollowByIds(Long[] ids);

    /**
     * 删除纪念馆关注信息
     *
     * @param hallId   纪念馆id
     * @param memberId 会员id
     * @return 结果
     */
    int deleteMemorialHallFollow(@Param("hallId") long hallId, @Param("memberId") long memberId);

    /**
     * 判断用户是否关注了纪念馆
     *
     * @param hallId   纪念馆id
     * @param memberId 会员id
     * @return 结果
     */
    int selectIsFollowed(@Param("hallId") long hallId, @Param("memberId") long memberId);

    /**
     * 通过纪念馆id删除纪念馆关注信息
     *
     * @param hallId 纪念馆id
     * @return 结果
     */
    int deleteMemorialHallFollowByHallId(@Param("hallId") long hallId);
}
